import matplotlib.pyplot as plt
import numpy as np

import Data_Solve as DS

plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
plt.rcParams['axes.unicode_minus'] = False

'''
Data_Solve 文件 函数详解：
    1.Load_Data :载入数据
    2.Variance :获取方差
    3.Standard_Deviation :获取标准差
    4.Covariance :获取协方差
    5.Coeffcient :获取相关系数
    6.All_Discretization: 对所有连续性数值进行离散化
    7.Get_Previous_Percent: 获取某一列某个取值占总体的先验概率
    8.Get_Feature_Label: 分离特征值和标签
    9.Get_Data_Standard: 将数据归一化后再分离特征值和标签
    10.Get_Model: 获取训练后的模型
    11.Paint_Piechart: 对某一列进行饼图分析
    12.Get_Pre_Rec_Value: 获取准确率和召回率
    13.Get_Four_Model_Standard: 对数据归一化后进行四个模型的训练
    14.Get_Four_Model_Dis: 对数据离散化后进行四个模型的训练
    15.Get_Four_Model: 对数据不错处理进行四个模型的训练
'''

'''
    操作说明：
        系统运行的默认状态是循环运行四个机器学习模型并输出最终结果，可以通过调用函数改变系统运行逻辑
'''
    
model_Name_List = ['KNN','DecisionTree','RandomForest','GBM']
if __name__ == "__main__":
    d_Data = DS.Load_Data()
    for i in range(len(model_Name_List)):
        DS.Get_Four_Model_Standard(d_Data,model_Name_List[i])   #标准化后的四个模型结果
        #DS.Get_Four_Model_Dis(d_Data,model_Name_List[i])        #离散化后的四个模型结果
        #DS.Get_Four_Model(d_Data,model_Name_List[i])             #不进行操作的四个模型结果